<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 一、为什么要组件化？-->
    <!-- 1.多人协作困难，组件化开发有利于提高工作效率 -->
    <!-- 2.优化代码，增加代码的可维护性和可扩展性
        优秀的代码：高内聚、低耦合
        高内聚：一段代码描述一件完整的事情
        低耦合：代码之间关联性不高

    -->

    <!-- 二、什么是组件化？ -->
    <!-- 一个项目由多个组件拼接而成，每一个组件负责一个功能
         每个组件都是独立的个体，组件之间相互独立，也通过特殊的方式进行沟通 -->

    <!-- 三、如何实现组件化？ -->
    <!-- 组件内部应该封装一套完整的逻辑
         组件通过外放接口和外界沟通
    -->

    <!-- 四、组件的优点 -->
    <!-- 1.可维护性：每个组件都是独立的个体，更容易理解和维护，修改一个组件不会对其他组件产生影响 -->
    <!-- 2.可复用性：公共组件可以在整个应用程序中重复使用，减少代码重复 -->
    <!-- 3.团队协作：不同的团队可以独立开发和测试不同的组件，降低团队之间的耦合度 -->
    <!-- 4.可扩展性：可以更容易的引入新的功能或者替换现有组件，而不影响整个程序 -->

    <!-- 五、组件分类 -->
    <!-- 1.公共组件 
        定义：公共组件是在整个程序中被方法使用的通用性组件，其功能独立于具体业务逻辑
        特点：公共组件通常会包含一些通过的功能、工具类、UI组件等，它们被设计成可重用、可配置、可扩展，以便在不同的业务场景中被调用
        例子：日期选择器、弹窗组件、表单验证等

        2.业务组件
        定义：业务组件是与特定业务逻辑相关的、可重用的模块，负责处理程序中具体的业务需求
        特点：业务组件通常包含特定领域的逻辑、数据处理、与后端交互等功能，是程序中的核心模块
        例子：电商程序中的购物车组件、商品列表组件、支付组件等
    -->

    <!-- 组件化是一种思想，然后才有具体实现，目的是让项目功能高封装有相互独立（高内聚、低耦合） -->

    <!-- 六、Vue里面的组件化思想 -->

</body>
</html>